// ============================== 导入依赖 ============================== //

// ============================== 导出表单公共 ============================== //

export default {
  // —————————————————————————————— 标签 —————————————————————————————— //

  label: { type: String, default: '' }, // 标签 (为空不显示，但宽度还在)
  noLabel: { type: Boolean, default: false }, // 隐藏标签 (宽度为 0)

  labelWidth: { type: [Number, String], default: null }, // 标签宽度，为 null 则由 WebForm 决定

  // —————————————————————————————— 数据 —————————————————————————————— //

  bind: { type: String, required: true }, // 绑定键名，触发 @change 事件
  init: { default: undefined }, // 默认值

  // 为空则取外层 WebForm / WebShow 的属性 one
  // 再为空则取 path 模块的 state.one
  one: { type: Object, default: null }, // 单项

  // —————————————————————————————— 校验 —————————————————————————————— //

  required: { type: Boolean, default: false }, // 是否必须
  check: { type: Function, default: null }, // 校验方法 ( const msg = check(value)，msg 有值为不通过 )

  // —————————————————————————————— 其他 —————————————————————————————— //

  tip: { type: String, default: null }, // placeholder 提示 (为 null 则取 TIP_PRE + label)
  noTip: { type: Boolean, default: false }, // 有无提示
  noClear: { type: Boolean, default: false }, // 有无清除
  disabled: { type: Boolean, default: false }, // 是否禁用
  onlyAdd: { type: Boolean, default: false }, // 是否只能在新增时可编辑

  // —————————————————————————————— 原生属性 —————————————————————————————— //

  elProps: { type: Object, default: () => ({}) }, // el-*** 原生配置项
}
